package forcetower;

import static org.junit.Assert.*;

import org.junit.Before;
import org.junit.Test;

public class ControllerTests {
	Controller cb;
	
	@Before
	public void setUp() {
		cb = new Controller();
	}
	
	@Test
	public void cadastrarJogadorTest() {
		assertEquals(0, cb.jogadores.tamanho());
		
		cb.cadastrarJogador("player_b");
		cb.cadastrarJogador("player_a");
		
		assertEquals(2, cb.jogadores.tamanho());
	}
	
	@Test
	public void funcionalidadesTest() {
		assertFalse(cb.selecionarJogadoresPartida("player_a"));
		assertEquals(0, cb.jogadores.tamanho());
		
		cb.cadastrarJogador("player");
		cb.cadastrarJogador("playerc");
		
		assertEquals(2, cb.jogadores.tamanho());
		
		assertNull(cb.atual);
		cb.iniciarPartida(); // deve ser digitado um numero igual ou inferior ao numero de jogadores cadastrados
		assertNotNull(cb.atual);
		
		assertTrue (cb.selecionarJogadoresPartida("player"));
		assertFalse (cb.selecionarJogadoresPartida("player"));
		
		assertEquals(1, cb.jogadores.tamanho());
		assertEquals(1, cb.jogadoresEmJogo.tamanho());
		
		cb.mostrarPlacarGeral();
	}

}
